package com.zuipin.service;

import java.util.List;
import java.util.Map;

import com.zuipin.entity.MemberLevel;
import com.zuipin.entity.MemberRecord;
import com.zuipin.enums.MemberRecordType;
import com.zuipin.framework.exception.CustomException;
import com.zuipin.framework.result.Result;
import com.zuipin.util.Pagination;

/**
 * @ClassName: IMemberRecordService
 * @author wuyicheng
 * @time 2017年3月27日下午3:58:32
 */
public interface IMemberRecordService {
	public MemberRecord findById(Long id);
	
	public List<MemberLevel> findList(MemberRecord memberRecord);
	
	public void insert(MemberRecord memberRecord);
	
	public void update(MemberRecord memberRecord);
	
	public void deleteById(Long id);
	
	/** 
	 *
	 * @Title: isSignInToday 
	 * @author: wuyicheng
	 * @date: 2017年4月25日上午1:08:50 
	 * @param memberId
	 * @param sysId
	 * @return
	 * @return: boolean
	 * @throws 
	 */
	public boolean isSignInToday(Long memberId, Long sysId);
	
	/**
	 * @throws CustomException 
	 * @return 
	 * @param result 
	 * 
	 *
	 * @Title: doSignInToday 
	 * @author: wuyicheng
	 * @date: 2017年4月25日上午1:30:00 
	 * @param memberId
	 * @param sysId
	 * @param signIn
	 * @param string
	 * @return: void
	 * @throws
	 */
	public Result<Map<String, Object>> doSignInToday(Long memberId, Long sysId,
			MemberRecordType signIn, String string, Result<Map<String, Object>> result)
			throws CustomException;
	
	/** 
	 * 添加会员日志
	 * 
	 * @Title: addMemberRecordLog 
	 * @author: wuyicheng
	 * @date: 2017年5月4日下午2:52:44 
	 * @param memberId 会员ID
	 * @param sysId 系统ID
	 * @param type 类型
	 * @param content 备注内容
	 * @return: void
	 * @throws 
	 */
	public void addMemberRecordLog(Long memberId, Long sysId, MemberRecordType type,
			String content);
	
	/** 
	 *
	 * @Title: searchSignInByPage 
	 * @author: wuyicheng
	 * @date: 2017年5月9日下午3:21:26 
	 * @param memberId
	 * @param sysId
	 * @param pagination
	 * @return
	 * @return: List<MemberRecord>
	 * @throws 
	 */
	public List<MemberRecord> searchSignInByPage(Long memberId, Long sysId, Pagination pagination);
}
